package com.ruoyi.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 主设备台账对象 equipmentinfo
 * 
 * @author DL
 * @date 2025-07-01
 */
@Data
public class Equipmentinfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 设备ID */
    @JsonProperty("id")
    private String ID;

    /** 设备编号 */
    @JsonProperty("equipmentSN")
    @Excel(name = "设备编号")
    private String EquipmentSN;

    /** 设备名称 */
    @JsonProperty("equipmentName")
    @Excel(name = "设备名称")
    private String EquipmentName;

    /** 设备类型 */
    @JsonProperty("equipmentType")
    @Excel(name = "设备类型")
    private String EquipmentType;

    /** 系统版本 */
    @JsonProperty("systemVersion")
    @Excel(name = "系统版本")
    private String SystemVersion;

    /** 设备型号 */
    @JsonProperty("equipmentModel")
    @Excel(name = "设备型号")
    private String EquipmentModel;

    /** 制造商 */
    @JsonProperty("manufacturer")
    @Excel(name = "制造商")
    private String Manufacturer;

    /** 出厂时间 */
    @JsonProperty("leaveTime")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出厂时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date LeaveTime;

    /** 采集IP */
    @JsonProperty("equipmentIp")
    @Excel(name = "采集IP")
    private String EquipmentIp;

    /** 串口号/端口号 */
    @JsonProperty("equipmentPort")
    @Excel(name = "串口号/端口号")
    private String EquipmentPort;

    /** 采集类型 */
    @JsonProperty("collectType")
    @Excel(name = "采集类型")
    private String CollectType;

    /** 从站地址 */
    @JsonProperty("slaveID")
    @Excel(name = "从站地址")
    private Long SlaveID;

    /** 当前测试设备 */
    @JsonProperty("rFlag")
    @Excel(name = "当前测试设备")
    private Long RFlag;

    /** 当前测试设备 */
    @JsonProperty("commProtocol")
    @Excel(name = "通讯协议")
    private String CommProtocol;

    /** 是否显示 */
    @JsonProperty("isShow")
    @Excel(name = "是否显示")
    private Long IsShow;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ID", getID())
            .append("EquipmentSN", getEquipmentSN())
            .append("EquipmentName", getEquipmentName())
            .append("EquipmentType", getEquipmentType())
            .append("SystemVersion", getSystemVersion())
            .append("EquipmentModel", getEquipmentModel())
            .append("Manufacturer", getManufacturer())
            .append("LeaveTime", getLeaveTime())
            .append("EquipmentIp", getEquipmentIp())
            .append("EquipmentPort", getEquipmentPort())
            .append("CollectType", getCollectType())
            .append("SlaveID", getSlaveID())
            .append("RFlag", getRFlag())
            .append("IsShow", getIsShow())
            .toString();
    }
}
